package com.coursehub.exercise.repository;

import com.coursehub.exercise.entity.Question;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 题目数据访问层
 */
@Repository
public interface QuestionRepository extends JpaRepository<Question, String> {
    
    /**
     * 根据题目类型查询
     * @param type 题目类型 (0:选择题, 1:主观题)
     * @return 题目列表
     */
    List<Question> findByType(Integer type);
    
    /**
     * 根据分数范围查询题目
     * @param minScore 最小分数
     * @param maxScore 最大分数
     * @return 题目列表
     */
    List<Question> findByQuestionScoreBetween(Integer minScore, Integer maxScore);
    
    /**
     * 根据题目内容模糊查询
     * @param content 题目内容关键词
     * @return 题目列表
     */
    List<Question> findByQuestionContentContaining(String content);
    
    /**
     * 根据题目ID列表批量查询
     * @param questionIds 题目ID列表
     * @return 题目列表
     */
    List<Question> findByQuestionIdIn(List<String> questionIds);
}